package com.ace.token.module.service;

import com.ace.token.module.entity.TokenDO;

import java.util.List;

/**
 * token的service层
 * @Author
 * @Date 2018年07月03日 上午8:51
 */
public interface TokenService {

    /**
     * 单个添加token
     * @param token
     */
    void add(TokenDO token);
    /**
     * 批量添加添加token
     * @param tokens
     */
    void addList(List<TokenDO> tokens);

    /**
     *  根据用户id和类型删除token
     * @param token
     */
    void  deleteByUserIdAndType(TokenDO token);

    /**
     *  根据用户id删除token
     * @param token
     */
    void  deleteByUserId(TokenDO token);

    /**
     * 根据token批量删除
     * @param tokens
     */
    void deleteByTokenList(List<TokenDO> tokens);

    /**
     * 根据token删除
     * @param token
     */
    void deleteByTokenList(TokenDO token);


    /**
     * 查询所有的token
     */
    List<TokenDO> selectAll();
    
    /**
     * 根据token查询用户id
     * @param token
     * @return
     */
    String selectByToken(TokenDO token);

    /**
     * 校验token
     * @param token
     * @param isUpdateTime
     */
    void checkToken(TokenDO token,boolean isUpdateTime);
}
